<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui">
    <ui:composition template="comunLocales.xhtml">
        <ui:define name="body">
            <h:form id="formularioAdministracionLocalID" enctype="multipart/form-data">
                <p:remoteCommand  name="iniciarDatos"
                                  process="@this"
                                  update=":formularioAdministracionLocalID"
                                  actionListener="#{administracionLocalControlador.iniciarDatos()}" />
                <p:ajaxStatus style="width:75px;height:75px;position:fixed;right:100px;bottom:100px">  
                            <f:facet name="start">  
                                <p:graphicImage value="http://#{initParam['DIRECCION_SERVIDOR']}/Iconos/loading.gif" />  
                            </f:facet>  

                            <f:facet name="complete">  
                                <h:outputText value="" />  
                            </f:facet>  
                </p:ajaxStatus> 
                <p:messages id="msgs"/>

                <p:tabView id="tabAdministracionLocalID" cache="true" dynamic="true" activeIndex="#{administracionLocalDataManager.tabActivo}"> 

                    <p:ajax event="tabChange" listener="#{administracionLocalControlador.onTabChange}" 
                            update="tabAdministracionLocalID" />

                    <!--   TAB ACTUALIZACION DATOS LOCAL -->
                    <p:tab title="Administración" id="tabActualizacionDatosID">  
                        <p:messages id="msgs5" autoUpdate="true"/>
                        <h:panelGrid columns="2" cellpadding="5">  
                            <f:facet name="header" >
                                Datos del Local
                            </f:facet>
                            <h:outputLabel value="Cargar Imagen:" />
                            <p:fileUpload cancelLabel="Cancelar" uploadLabel="SubirFoto" label="BuscarFoto" id="cargaImagenLocalID" fileUploadListener="#{administracionLocalControlador.subirFotoLo}" 
                                          allowTypes="/(\.|\/)(gif|jpe?g|png)$/" sizeLimit="100000" update="@this panelImagenLoCargadaID"/>

                            <h:outputLabel value="Foto:"/>
                            <p:outputPanel id="panelImagenLoCargadaID" >
                                <h:graphicImage id="imagenLoCargadaID" 
                                                value="#{administracionLocalDataManager.administracionLocal.local.loImagen}" width="50" height="50" 
                                                rendered="#{administracionLocalDataManager.referenciaAImagenes}"/>
                                <p:graphicImage  height="160px" width="200px" value="#{administracionLocalDataManager.imagenLocal}" cache="false"
                                                 rendered="#{!administracionLocalDataManager.referenciaAImagenes}"/>
                            </p:outputPanel>
                            <h:outputLabel value="Nombre:" />
                            <h:inputText size="50" value="#{administracionLocalDataManager.administracionLocal.local.loNombre}" 
                                         required="true" requiredMessage="El nombre es requerido"
                                         validatorMessage="El Nombre debe poseer máximo 50 caracteres">
                                <f:validateLength maximum="50" />
                            </h:inputText>

                            <h:outputLabel value="Descripción:" />
                            <h:inputTextarea  cols="45" rows="5" 
                                              value="#{administracionLocalDataManager.administracionLocal.local.loDescripcion}"
                                              validatorMessage="La descripcion debe poseer máximo 800 caracteres">
                                <f:validateLength maximum="800" />
                            </h:inputTextarea>

                            <h:outputLabel value="RUC:" />
                            <h:inputText size="13" value="#{administracionLocalDataManager.administracionLocal.local.loRuc}"                              
                                         validatorMessage="El RUC debe ser un dato numérico y debe poseer máximo 13 digitos">
                                <f:validator binding="#{numeroValidador}" />
                                <f:validateLength maximum="13" />
                            </h:inputText>
                            <h:outputText value="Mostrar Fotos: " />  
                            <p:selectOneRadio id="options" value="#{administracionLocalDataManager.administracionLocal.local.loMostrarFotos}">  
                                <f:selectItem itemLabel="Todas" itemValue="TOD" />  
                                <f:selectItem itemLabel="Día" itemValue="DIA" />  
                            </p:selectOneRadio>  
                            <h:outputText value="Mostrar Precio: " />  
                            <p:selectOneRadio id="optionsPrecio" value="#{administracionLocalDataManager.administracionLocal.local.loMostrarPrecio}">  
                                <f:selectItem itemLabel="Si" itemValue="SI" />  
                                <f:selectItem itemLabel="No" itemValue="NO" />  
                            </p:selectOneRadio>

                        </h:panelGrid>  
                        <h:panelGrid columns="1">
                            <p:commandButton id="botonActualizarDatosLocalID" 
                                             value="Guardar" action="#{administracionLocalControlador.actualizarLocal()}" 
                                             update=":formularioAdministracionLocalID:tabAdministracionLocalID"
                                             ajax="true"
                                             process=":formularioAdministracionLocalID:tabAdministracionLocalID:tabActualizacionDatosID"/>
                        </h:panelGrid>
                        
                    </p:tab>
                    <!--   TAB SUCURSALES -->
                    <p:tab title="Sucursales" id="tabSucursalesID"> 
                        <p:outputPanel id="panelTablaSucursalesID">
                            <p:commandLink id="nuevaSucursalLinkID"
                                           value="Nueva Sucursal" 
                                           update=":formularioAdministracionLocalID:dialogNuevaSucursalID" 
                                           process="@this"
                                           action="#{administracionLocalControlador.nuevaSucursal()}"
                                           oncomplete="dialogNueva.show();">
                            </p:commandLink>



                            <p:dataTable value="#{administracionLocalDataManager.administracionLocal.listaSucursales}" 
                                         id="tablaSucursalesID"
                                         var="sucursal"
                                         paginator="true"
                                         rows="5" 
                                         paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
                                         rowsPerPageTemplate="5,10,15" 
                                         emptyMessage="No existen Sucursales">
                                <p:column id="ColumaImagenID" headerText="Foto " sortBy="#{sucursal.suDescripcion}">
                                    <h:graphicImage id="imagenCargadaID" value="#{sucursal.suImagen}" width="100" height="100" />
                                </p:column>
                                <p:column headerText="Nombre ">
                                    <h:outputText value="#{sucursal.suNombre}"/>
                                </p:column>
                                <p:column  headerText="Descripción ">
                                    <h:outputText value="#{sucursal.suDescripcion}"/>
                                </p:column>
                                <p:column  headerText="Latitud ">
                                    <h:outputText value="#{sucursal.suLatitud}"/>
                                </p:column>

                                <p:column  headerText="Longuitud ">
                                    <h:outputText value="#{sucursal.suLonguitud}"/>
                                </p:column>
                                <p:column id="capacidad" headerText="Capacidad"
                                          sortBy="#{sucursal.suCapacidad}">
                                    <h:outputText value="#{sucursal.suCapacidad}"/>
                                </p:column>
                                <p:column  id="pais" headerText="País " 
                                           sortBy="#{sucursal.zoCodigo.ciCodigo.paCodigo.paNombre}">
                                    <h:outputText value="#{sucursal.zoCodigo.ciCodigo.paCodigo.paNombre}"/>
                                </p:column>

                                <p:column  headerText="Ciudad " sortBy="#{sucursal.zoCodigo.ciCodigo.ciNombre}">
                                    <h:outputText value="#{sucursal.zoCodigo.ciCodigo.ciNombre}"/>
                                </p:column>

                                <p:column  headerText="Zona " sortBy="#{sucursal.zoCodigo.zoNombre}">
                                    <h:outputText value="#{sucursal.zoCodigo.zoNombre}"/>
                                </p:column>

                                <p:column  headerText="Editar ">
                                    <p:commandLink value="Editar" 
                                                   process="@this"
                                                   update=":formularioAdministracionLocalID:dialogEditarSucursalID"
                                                   oncomplete="dialogEditar.show();"
                                                   action="#{administracionLocalControlador.poblarFechas}">
                                        <f:setPropertyActionListener target="#{administracionLocalDataManager.sucursal}" value="#{sucursal}"/>
                                        <f:setPropertyActionListener target="#{administracionLocalDataManager.pais}" value="#{sucursal.zoCodigo.ciCodigo.paCodigo}"/>
                                        <f:setPropertyActionListener target="#{administracionLocalDataManager.ciudad}" value="#{sucursal.zoCodigo.ciCodigo}"/>
                                    </p:commandLink>
                                </p:column>
                                <p:column headerText="Cargar Foto">
                                    <p:commandLink value="Cargar Foto" 
                                                   process="@this"
                                                   update=":formularioAdministracionLocalID:dialogSubirFotoSucursalID"
                                                   oncomplete="dialogSubirFoto.show();"
                                                   action="#{administracionLocalControlador.cargarImagenSucursalTemporal()}">
                                        <f:setPropertyActionListener target="#{administracionLocalDataManager.sucursal}" value="#{sucursal}"/>
                                    </p:commandLink>
                                </p:column>
                            </p:dataTable>
                        </p:outputPanel>
                    </p:tab>
                    <!--   TAB EVENTOS -->
                    <p:tab title="Eventos" id="tabEventosID">
                        <p:outputPanel id="panelEventosID" style="background: blue">
                            <h:panelGrid columns="2" cellspacing="5">
                                <h:outputLabel value="Sucursales" />
                                <h:selectOneMenu value="#{administracionLocalDataManager.sucursal}" >
                                    <f:converter converterId="sucursalConvertidor" />
                                    <f:selectItems value="#{administracionLocalControlador.selectItemSucursales}"/>
                                    <p:ajax event="change" update="panelListaEventosID"  
                                            process="@this"
                                            listener="#{administracionLocalControlador.consultaEventos}">
                                    </p:ajax>   
                                </h:selectOneMenu>
                            </h:panelGrid>
                            <h:panelGrid id="panelListaEventosID" columns="1" cellspacing="5">

                                <p:commandLink value="Nuevo Evento" 
                                               update=":formularioAdministracionLocalID:dialogNuevoEventoID" 
                                               process="@this"
                                               action="#{administracionLocalControlador.nuevoEvento()}"
                                               oncomplete="dialogNuevoEvento.show();">
                                </p:commandLink>
                                <p:dataTable value="#{administracionLocalDataManager.listaEventos}" 
                                             id="tablaEventosID"
                                             var="evento"
                                             paginator="true"
                                             rows="5" 
                                             paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
                                             rowsPerPageTemplate="5,10,15" 
                                             emptyMessage="No existen Eventos por el momento">
                                    <p:column id="columnaImagenEventoID" headerText="Foto " >
                                        <h:graphicImage id="imagenCargadaEventoID" value="#{evento.evFoto}" width="100" height="100" />
                                    </p:column>
                                    <p:column  headerText="Descripción " >
                                        <h:inputTextarea value="#{evento.evDescripcion}" disabled="true"/>
                                    </p:column>
                                    <p:column  headerText="Fecha Inicio " >
                                        <h:outputText value="#{evento.evFechaInicio}">
                                            <f:convertDateTime pattern="d/M/yyyy HH:mm"/>
                                        </h:outputText>
                                    </p:column>
                                    <p:column  headerText="Fecha Fin " >
                                        <h:outputText value="#{evento.evFechaFin}">
                                            <f:convertDateTime pattern="d/M/yyyy HH:mm"/>
                                        </h:outputText>
                                    </p:column>
                                    <p:column  headerText="Estado " >
                                        <h:outputText value="#{evento.evEstado}" />
                                    </p:column>
                                    <p:column  headerText="Puntos " >
                                        <h:outputText value="#{evento.evPuntos}" />
                                    </p:column>
                                    <p:column headerText="Cargar Foto">
                                        <p:commandLink value="Cargar Foto" 
                                                       process="@this"
                                                       update=":formularioAdministracionLocalID:dialogSubirFotoEventoID"
                                                       oncomplete="dialogSubirFotoEvento.show();"
                                                       action="#{administracionLocalControlador.cargarImagenEventoTemporal()}">
                                            <f:setPropertyActionListener target="#{administracionLocalDataManager.evento}" value="#{evento}"/>
                                        </p:commandLink>
                                    </p:column>
                                    <p:column headerText="Editar">
                                        <p:commandLink value="Editar Evento" 
                                                       process="@this"
                                                       update=":formularioAdministracionLocalID:dialogEditarEventoID"
                                                       oncomplete="dialogEditarEvento.show();"
                                                       >
                                            <f:setPropertyActionListener target="#{administracionLocalDataManager.evento}" value="#{evento}"/>
                                        </p:commandLink>
                                    </p:column>
                                </p:dataTable>
                            </h:panelGrid>
                        </p:outputPanel>
                    </p:tab>
                    <!-- TAB FOTOS -->
                    <p:tab title="Fotos Galeria" id="tabFotosID">
                        <p:outputPanel id="panelFotosID" style="background: blue">
                            <center><table>
                                    <tr>
                                        <td>
                                    <p:outputPanel id="panelImagenUnoCargadaID">
                                        <h:graphicImage id="imagenUnoCargadaID" 
                                                        value="#{administracionLocalDataManager.administracionLocal.listaLocalesImagen[0].loImRutaFoto}" 
                                                        width="200" height="200" 
                                                        rendered="#{administracionLocalDataManager.referenciaAImagenes}"/>
                                        <p:graphicImage  height="200" width="200" value="#{administracionLocalDataManager.imagenUno}" cache="false"
                                                         rendered="#{!administracionLocalDataManager.referenciaAImagenes}"/>
                                    </p:outputPanel>
                                    <br/>
                                    <center><p:commandLink value="Cargar Foto" 
                                                           process="@this"
                                                           update=":dialogSubirImagenGaleriaID"
                                                           oncomplete="dialogSubirImagenGaleria.show();"
                                                           action="#{administracionLocalControlador.cargarImagenGaleriaLocalTemporal}">
                                            <f:setPropertyActionListener target="#{administracionLocalDataManager.codigoCargaImagen}" value="cargaImagenUnoID"/>
                                            <f:setPropertyActionListener target="#{administracionLocalDataManager.rutaImagenGaleriaCargada}" 
                                                                         value="#{administracionLocalDataManager.administracionLocal.listaLocalesImagen[0].loImRutaFoto}"/>
                                        </p:commandLink></center>
                                    </td>
                                    <td>
                                    <p:outputPanel id="panelImagenDosCargadaID">
                                        <h:graphicImage id="imagenDosCargadaID" 
                                                        value="#{administracionLocalDataManager.administracionLocal.listaLocalesImagen[1].loImRutaFoto}" 
                                                        width="200" height="200" 
                                                        rendered="#{administracionLocalDataManager.referenciaAImagenes}"/>
                                        <p:graphicImage  height="200" width="200" value="#{administracionLocalDataManager.imagenDos}" cache="false"
                                                         rendered="#{!administracionLocalDataManager.referenciaAImagenes}"/>
                                    </p:outputPanel>
                                    <br/>
                                    <center><p:commandLink value="Cargar Foto" 
                                                           process="@this"
                                                           update=":dialogSubirImagenGaleriaID"
                                                           oncomplete="dialogSubirImagenGaleria.show();"
                                                           action="#{administracionLocalControlador.cargarImagenGaleriaLocalTemporal}">
                                            <f:setPropertyActionListener target="#{administracionLocalDataManager.codigoCargaImagen}" value="cargaImagenDosID"/>
                                            <f:setPropertyActionListener target="#{administracionLocalDataManager.rutaImagenGaleriaCargada}" 
                                                                         value="#{administracionLocalDataManager.administracionLocal.listaLocalesImagen[1].loImRutaFoto}"/>
                                        </p:commandLink></center>
                                    </td>
                                    </tr>
                                    <tr>
                                        <td>
                                    <p:outputPanel id="panelImagenTresCargadaID">
                                        <h:graphicImage id="imagenTresCargadaID" 
                                                        value="#{administracionLocalDataManager.administracionLocal.listaLocalesImagen[2].loImRutaFoto}" 
                                                        width="200" height="200" 
                                                        rendered="#{administracionLocalDataManager.referenciaAImagenes}"/>
                                        <p:graphicImage  height="200" width="200" value="#{administracionLocalDataManager.imagenTres}" cache="false"
                                                         rendered="#{!administracionLocalDataManager.referenciaAImagenes}"/>
                                    </p:outputPanel>
                                    <br/>
                                    <center><p:commandLink value="Cargar Foto" 
                                                           process="@this"
                                                           update=":dialogSubirImagenGaleriaID"
                                                           oncomplete="dialogSubirImagenGaleria.show();"
                                                           action="#{administracionLocalControlador.cargarImagenGaleriaLocalTemporal}">
                                            <f:setPropertyActionListener target="#{administracionLocalDataManager.codigoCargaImagen}" value="cargaImagenTresID"/>
                                            <f:setPropertyActionListener target="#{administracionLocalDataManager.rutaImagenGaleriaCargada}" 
                                                                         value="#{administracionLocalDataManager.administracionLocal.listaLocalesImagen[2].loImRutaFoto}"/>
                                        </p:commandLink></center>
                                    </td>
                                    <td>
                                    <p:outputPanel id="panelImagenCuatroCargadaID">
                                        <h:graphicImage id="imagenCuatroCargadaID" 
                                                        value="#{administracionLocalDataManager.administracionLocal.listaLocalesImagen[3].loImRutaFoto}" 
                                                        width="200" height="200" 
                                                        rendered="#{administracionLocalDataManager.referenciaAImagenes}"/>
                                        <p:graphicImage  height="200" width="200" value="#{administracionLocalDataManager.imagenCuatro}" cache="false"
                                                         rendered="#{!administracionLocalDataManager.referenciaAImagenes}"/>
                                    </p:outputPanel>
                                    <br/>
                                    <center><p:commandLink value="Cargar Foto" 
                                                           process="@this"
                                                           update=":dialogSubirImagenGaleriaID"
                                                           oncomplete="dialogSubirImagenGaleria.show();"
                                                           action="#{administracionLocalControlador.cargarImagenGaleriaLocalTemporal}">
                                            <f:setPropertyActionListener target="#{administracionLocalDataManager.codigoCargaImagen}" value="cargaImagenCuatroID"/>
                                            <f:setPropertyActionListener target="#{administracionLocalDataManager.rutaImagenGaleriaCargada}" 
                                                                         value="#{administracionLocalDataManager.administracionLocal.listaLocalesImagen[3].loImRutaFoto}"/>
                                        </p:commandLink></center>
                                    </td>
                                    </tr>
                                </table></center>
                        </p:outputPanel>
                    </p:tab>
                    <!-- TAB HISTORIA LOCAL-->
                    <p:tab title="Historia" id="tabHistoriaID">
                        <p:outputPanel id="panelHistoriaID">
                            <p:editor id="editor" value="#{administracionLocalDataManager.administracionLocal.local.loHistoria}" width="600" 
                                      validatorMessage="La historia debe poseer maximo 3000 caracteres">
                                <f:validateLength maximum="3000" />
                            </p:editor>
                            <h:panelGrid columns="1">
                                <p:commandButton id="botonHistoriaLocalID" 
                                                 value="Guardar" action="#{administracionLocalControlador.actualizarLocal()}" 
                                                 update=":formularioAdministracionLocalID:tabAdministracionLocalID"
                                                 ajax="true"
                                                 process=":formularioAdministracionLocalID:tabAdministracionLocalID:tabHistoriaID"/>
                            </h:panelGrid>
                        </p:outputPanel>
                        
                    </p:tab>
                    <p:tab title="Formas de Pago" id="tabFormasDePagoID">
                        <table>
                            <tr>
                                <td>
                            <p:outputPanel>
                                <h:panelGrid columns="2" cellpadding="5">
                                    <f:facet name="header" >
                                        Formas de Pago del Local
                                    </f:facet>
                                    <center><p:dataTable value="#{administracionLocalDataManager.listaTarjetas}" 
                                                         id="tablaFormasDePagoID"
                                                         var="formasDePago"
                                                         emptyMessage="No existen diferentes formas de pago">
                                            <p:column id="columnaImagenFPagosID" headerText="Imagen" >
                                                <h:graphicImage id="imagenCargadaFPagosID" value="#{formasDePago.fpImagen}" width="75" height="75" />
                                            </p:column>
                                            <p:column id="columnaNombreFPagosID" headerText="Nombre">
                                                <h:outputLabel value="#{formasDePago.fpNombre}"/>                                 
                                            </p:column>
                                            <p:column id="columnaSeleccionarFPagosID" headerText="Seleccionar">
                                                <p:commandLink value="añadir" rendered="#{!formasDePago.existe}"
                                                               action="#{administracionLocalControlador.crearFormaDePago()}"
                                                               update="@form"
                                                               process="@this">
                                                    <f:setPropertyActionListener value="#{formasDePago}" target="#{administracionLocalDataManager.formaDePagoSeleccionada}"/>   
                                                    <f:setPropertyActionListener value="ACT" target="#{administracionLocalDataManager.estadoFormaPago}"/>          
                                                </p:commandLink>    
                                                <p:commandLink value="quitar" rendered="#{formasDePago.existe}"
                                                               action="#{administracionLocalControlador.crearFormaDePago()}"
                                                               update="@form"
                                                               process="@this">
                                                    <f:setPropertyActionListener value="#{formasDePago}" target="#{administracionLocalDataManager.formaDePagoSeleccionada}"/>   
                                                    <f:setPropertyActionListener value="INA" target="#{administracionLocalDataManager.estadoFormaPago}"/>          
                                                </p:commandLink>
                                            </p:column>
                                            <p:column id="columnaImagenSeleccionFPagosID" headerText="Estado">
                                                <h:graphicImage id="imagenNoFPagosID" value="http://#{initParam['DIRECCION_SERVIDOR']}/estado/no.jpg" width="30" height="30" rendered="#{!formasDePago.existe}" />
                                                <h:graphicImage id="imagenSiFPagosID" value="http://#{initParam['DIRECCION_SERVIDOR']}/estado/si.jpg" width="30" height="30" rendered="#{formasDePago.existe}"/>
                                            </p:column>                               
                                        </p:dataTable></center>    
                                </h:panelGrid>

                            </p:outputPanel>
                            </td>
                            </tr>
                        </table>


                    </p:tab>
                </p:tabView>

                <ui:include src="/principal/administracion/modales.xhtml" />
            </h:form>

            <!-- dialog para subir imagenes de galeria del local-->
            <p:dialog id="dialogSubirImagenGaleriaID" header="Subir Imagen"
                      widgetVar="dialogSubirImagenGaleria" dynamic="true" >
                <h:form>
                    <h:panelGrid  columns="2">
                        <h:outputLabel value="Cargar Imagen:" />
                        <p:fileUpload id="cargaImagenGaleriaID" cancelLabel="Cancelar" label="BuscarFoto" uploadLabel="SubirFoto"
                                      fileUploadListener="#{administracionLocalControlador.subirFotoLo}" 
                                      allowTypes="/(\.|\/)(gif|jpe?g|png)$/" sizeLimit="100000" update="@this panelImagenUnoCargadaID"/>

                        <h:outputLabel value="Foto:"/>
                        <p:outputPanel id="panelImagenUnoCargadaID">
                            <h:graphicImage id="imagenUnoCargadaID" 
                                            value="#{administracionLocalDataManager.rutaImagenGaleriaCargada}" width="50" height="50"
                                            rendered="#{administracionLocalDataManager.referenciaAImagenes}"/>
                            <p:graphicImage  height="160px" width="200px" value="#{administracionLocalDataManager.imagenTemporal}" cache="false"
                                             rendered="#{!administracionLocalDataManager.referenciaAImagenes}"/>
                        </p:outputPanel>
                    </h:panelGrid>
                    <h:panelGrid columns="1" cellspacing="5">
                        <p:commandButton 
                            value="Aceptar"
                            oncomplete="dialogSubirImagenGaleria.hide();"
                            update=":formularioAdministracionLocalID:tabAdministracionLocalID"
                            process="@this">
                        </p:commandButton>
                    </h:panelGrid>
                </h:form>
            </p:dialog>
        </ui:define>
    </ui:composition>
</html>


